#pragma once

#include "LocalizationInterface.h"

class LocalizationRussian
: public LocalizationInterface
{
	friend class Factory < LocalizationInterface >;
public:
	static void Select ();
	static void Initialize ();
	static void CheckInnocence ();
	static void Shutdown ();
private:
	LocalizationRussian ();
	virtual ~LocalizationRussian ();
	virtual WorkModeMenuTextLocalizationInterfacePtr WorkModeMenuTextLocalization ();
	virtual KnowledgeBaseWriterTextLocalizationInterfacePtr KnowledgeBaseWriterTextLocalization ();
	virtual std::string SelectedCreateNew ();
	virtual std::string SelectedOpenExisting ();
	virtual std::string SelectedChangeDesignation ();
	virtual std::string SelectedMakeCopy ();
	virtual std::string SelectedQuit ();
	virtual std::string SelectedDeleteToTrashCan ();
	virtual std::string SelectedRestoreFromTrashCan ();
	virtual std::string SelectedExtractFromPackage ();
	virtual std::string SelectedImportFromFoxPro ();
	virtual std::string SelectedImportFromOracle ();
	virtual std::string EnterCommand ();
	virtual std::string SampleCommand ();
	virtual std::string PhrasesFile ();
	virtual std::string AssumptionFailed ();
	virtual std::string AssumptionFile ();
	virtual std::string AssumptionLine ();
	virtual std::string AssumptionSuite ();
	virtual std::string AssumptionTest ();
	virtual std::string AssumptionsSuccessfullyAsserted ( int assumptionsCount );
	virtual std::string AssumptionsCountMismatch ( int actualCount, int expectedCount );
private:
	WorkModeMenuTextLocalizationInterfacePtr workModeMenuTextLocalization;
	KnowledgeBaseWriterTextLocalizationInterfacePtr knowledgeBaseWriterTextLocalization;
	static Factory < LocalizationInterface > factory;
	static LocalizationInterfacePtr singleton;
};
